feat: add client-id input and deprecate app-id#353
Conversation
Co-authored-by: parkerbxyz <[email protected]>
app-id input
|
@copilot Let's also add a new |
Co-authored-by: parkerbxyz <[email protected]>
Implemented in 37f42c5: added |
app-id inputclient-id input and deprecate app-id
Co-authored-by: Copilot <[email protected]>
Override console.error to log only the error message (not the full stack trace) in main-missing-client-and-app-id.test.js. The stack trace contains environment-specific paths and ANSI codes that differ between local and CI environments, causing snapshot mismatches. Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Pull request overview
This PR updates the action to support GitHub App authentication via a new client-id input while keeping app-id for backwards compatibility (now deprecated), and makes the runtime + docs prefer client-id.
Changes:
- Add
client-idinput, deprecateapp-id, and update action metadata accordingly. - Update runtime input parsing to prefer
client-id, fallback toapp-id, and error when neither is set. - Update README and add/adjust tests + snapshots to cover the new input and missing-ID validation.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/main-missing-client-and-app-id.test.js | Adds coverage for the new “neither ID provided” failure path and snapshots its output. |
| tests/main-client-id.test.js | Adds a regression test ensuring a client-ID-shaped value works via client-id. |
| tests/index.js.snapshot | Updates snapshots to capture new stdout/stderr behavior and deprecated-input output. |
| tests/README.md | Updates test-writing guidance to point to the new missing-ID test as the “expected error” template. |
| main.js | Prefers client-id over app-id and adds explicit validation when neither is provided. |
| lib/main.js | Renames the first parameter to clientId and wires it into auth creation. |
| dist/main.cjs | Rebuild output reflecting the new input parsing and renamed parameter. |
| action.yml | Adds client-id, makes app-id optional, and marks app-id deprecated via deprecationMessage. |
| README.md | Updates docs and examples to recommend client-id, and documents precedence + deprecation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
This PR updates the action to support GitHub App Client ID as a first-class input (client-id), while keeping app-id as a deprecated fallback for backwards compatibility.
Changes:
- Adds
client-idtoaction.yml, marksapp-idas optional + deprecated, and updates runtime input parsing to preferclient-id. - Updates docs and usage examples to recommend
client-idand describe precedence/validation behavior. - Adds regression tests for the new input and the “missing both IDs” error path, updating snapshots accordingly.
Show a summary per file
| File | Description |
|---|---|
action.yml |
Adds client-id, deprecates and un-requires app-id. |
main.js |
Prefers client-id, falls back to app-id, errors if neither provided. |
lib/main.js |
Renames the identifier parameter and wires it into createAppAuth. |
dist/main.cjs |
Bundled output reflecting the input and auth changes. |
README.md |
Updates recommended configuration and examples to use client-id. |
tests/main-client-id.test.js |
Adds coverage that client-id input flows through execution. |
tests/main-missing-client-and-app-id.test.js |
Adds coverage for the missing-ID validation/error behavior. |
tests/index.js.snapshot |
Updates snapshots for new tests and deprecation output. |
tests/README.md |
Updates guidance to point to the new “expected error” test. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 8/9 changed files
- Comments generated: 1
client-id input and deprecate app-idclient-id input and deprecate app-id
Remove erroneous tests/ prefix from links since the file is already inside the tests/ directory. Co-authored-by: Copilot <[email protected]>
Replace INPUT_APP-ID with INPUT_CLIENT-ID in DEFAULT_ENV so all tests exercise the recommended input. Remove the now-redundant main-client-id.test.js and add main-app-id-fallback.test.js to explicitly cover the legacy app-id path. Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Pull request overview
This PR updates the action to support GitHub App authentication via a new client-id input while keeping the legacy app-id input for backwards compatibility, and makes the migration path explicit across runtime behavior, docs, and tests.
Changes:
- Add
client-idas a first-class action input; deprecate and makeapp-idoptional inaction.yml. - Update runtime input parsing to prefer
client-id, fall back toapp-id, and error when neither is set. - Refresh README examples/docs and add regression tests + snapshots for the new inputs and missing-ID validation.
Show a summary per file
| File | Description |
|---|---|
action.yml |
Adds client-id input; deprecates and makes app-id optional. |
main.js |
Prefers client-id over app-id and throws a clear error if neither is set. |
lib/main.js |
Renames parameter and threads it into createAppAuth as the app identifier. |
dist/main.cjs |
Bundled output updated to reflect the runtime changes. |
README.md |
Updates guidance and examples to recommend client-id and document deprecation/precedence. |
tests/main-client-id.test.js |
Adds a test covering the client-id input path. |
tests/main-missing-client-and-app-id.test.js |
Adds coverage for the missing-ID validation path. |
tests/index.js.snapshot |
Updates snapshots to include new test outputs and deprecated-input metadata. |
tests/README.md |
Updates test authoring guidance and fixes relative links to examples. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 9/10 changed files
- Comments generated: 2
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Remove redundant client-id callout from setup steps and trim precedence detail from the input note. Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Pull request overview
Adds first-class support for a GitHub App client-id input (preferred by GitHub), deprecates app-id, and updates runtime validation, docs, and tests to make migration explicit while preserving backward compatibility.
Changes:
- Introduces
client-idinput inaction.yml, deprecates and un-requiresapp-id. - Updates runtime input parsing to prefer
client-id, fall back toapp-id, and error when neither is set. - Updates README + adds/updates tests and snapshots for the new input behavior.
Show a summary per file
| File | Description |
|---|---|
| tests/README.md | Fixes/updates test authoring links and points expected-error tests to the new missing-ID scenario. |
| tests/main.js | Updates default test env to use a client-ID-shaped value by default. |
| tests/main-missing-client-and-app-id.test.js | Adds regression coverage for the new “neither input provided” validation path. |
| tests/main-client-id-precedence.test.js | Adds a scenario intended to cover precedence when both inputs are set. |
| tests/main-app-id-fallback.test.js | Adds a scenario verifying workflows can still use app-id when client-id is unset. |
| tests/index.js.snapshot | Updates snapshots for deprecated input metadata and new runtime behaviors. |
| README.md | Switches examples and setup guidance to client-id; documents deprecation. |
| main.js | Prefers client-id, falls back to app-id, and throws a clear error when missing. |
| lib/main.js | Renames parameter and wires the chosen identifier into createAppAuth. |
| dist/main.cjs | Rebuild output reflecting the updated runtime behavior. |
| action.yml | Adds client-id input and marks app-id as deprecated/not required. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 10/11 changed files
- Comments generated: 2
|
🎉 This PR is included in version 3.1.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
GitHub now recommends using a GitHub App's Client ID for authentication. This PR adds a first-class
client-idinput, keepsapp-idavailable for compatibility, and makes the migration path explicit in both runtime behavior and documentation.Action inputs
client-idinputrequiredfromapp-idapp-idas deprecated inaction.ymlRuntime behavior
client-idapp-idfor existing workflowsclient-idnorapp-idis providedDocs
client-idclient-idapp-idis deprecated and thatclient-idtakes precedence if both are setRegression coverage
client-idinputResulting usage
Users can migrate to the new input name directly: